<?php
/**
 * 1.不允许同名方法,静态方法与非静态方法同名报错
 * 2.使用静态方法方式调用方法名是非静态方法名,使用__callStatic()依然报错
 */

/* 
//不允许同名方法,静态方法与非静态方法同名报错
class Example {
    public static function myMethod() {
        echo "This is a static method.\n";
    }

    public function myMethod() {
        echo "This is a non-static method.\n";
    }
}

Example::myMethod(); // 调用静态方法
$obj = new Example();
$obj->myMethod(); // 调用非静态方法 */


class Model
{
    /**
     * 调用不存在的静态方法
     */
    public static function __callStatic($method, $parameters)
    {
        echo "static\n";
        return (new static)->$method(...$parameters);
        // 调用非静态方法
        //return call_user_func_array([new static(), $method], $parameters);
    }

    public function select()
    {
        echo "select\n";
    }
}

Model::select();